const URL = 'https://registry.npmjs.org/-/npm/v1/security/audits';
// npm审核的接口地址，运行 npm audit 命令使用的是同一个后端
// 检查单个包
/**
 * {
  "name": "example-audit",        // 虚拟项目名（无关紧要）
  "version": "1.0.0",            // 虚拟版本（无关紧要）
  "requires": {                  // 项目依赖要求
    "lodash": "^4.17.21"         // 要检查的包名和版本
  },
  "dependencies": {              // 依赖详情
    "lodash": {
      "version": "^4.17.21"      // 具体版本信息
    }
  }
}
 * @param {*} packageName 
 * @param {*} pacakgeVersion 
 * @returns 
 */

export async function remoteAudit(packageName, pacakgeVersion) {
  const body = {
    name: 'example-audit', // 项目名字随便写
    version: '1.0.0', // 项目的版本，随便写
    requires: {
      [packageName]: pacakgeVersion, // 要检查的包名和版本
    },
    dependencies: { // 依赖详情
      [packageName]: {
        version: pacakgeVersion,
      },
    },
  };
  console.log('body', body);
  const resp = await fetch(URL, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(body),
  });
  return await resp.json();
}
